#include <iostream>
#include <sstream>
#include <vector>
#include <regex>

using namespace std;

// Функция для анализа слов
string analyzeWords(string inputStr) {
    // Создание потока для разделения строки на слова
    istringstream iss(inputStr);
    vector<string> words;
    string word;

    // Разделение строки на слова и сохранение их в векторе
    while (iss >> word) {
        words.push_back(word);
    }

    // Если слов меньше двух, выводим сообщение и завершаем функцию
    if (words.size() < 2) {
        return "Мало данных для анализа";
    }

    // Инициализация переменных для подсчета параметров
    int totalWords = words.size();
    int cyrillicCapitalCount = 0;
    int latinCharCount = 0;
    int shortWordCount = 0;
    int hyphenWordCount = 0;
    string longestWord = "";
    int longestWordLength = 0;

    // Проход по каждому слову
    for (const string& word : words) {
        // Подсчет слов с заглавной кириллической буквой
        if (isupper(word[0]) && iswalpha(word[0])) {
            cyrillicCapitalCount++;
        }
        // Подсчет слов с латинскими символами
        if (regex_search(word, regex("[a-zA-Z]"))) {
            latinCharCount++;
        }
        // Подсчет коротких слов (не более 3 символов)
        if (word.length() <= 3) {
            shortWordCount++;
        }
        // Подсчет слов с символом дефиса
        if (word.find('-') != string::npos) {
            hyphenWordCount++;
        }
        // Поиск самого длинного слова
        if (word.length() > longestWordLength) {
            longestWord = word;
            longestWordLength = word.length();
        }
    }

    // Формирование отчета
    stringstream report;
    report << "Кол-во слов: " << totalWords << endl;
    report << "Кол-во слов с заглавной кириллической буквы: " << cyrillicCapitalCount << endl;
    report << "Кол-во слов содержащих латинский символ: " << latinCharCount << endl;
    report << "Кол-во слов не превышающих 3 символа: " << shortWordCount << endl;
    report << "Кол-во слов в составе которых имеется дефис: " << hyphenWordCount << endl << endl;
    report << "Самое длинное слово: " << longestWord << endl;
    report << "Длина слова: " << longestWordLength << endl;

    return report.str();
}

int main() {
    // Ввод строки с помощью стандартного ввода
    cout << "Введите несколько слов, разделенных пробелом: ";
    string inputStr;
    getline(cin, inputStr);

    // Вызов функции для анализа слов и вывод результата
    string result = analyzeWords(inputStr);
    cout << result;

    return 0;
}